• ホーム
  • トリログ
  • デジタルライフ
  • VLOOKUP関数のエラー原因を探すのに2時間もかかっていた私が、いろいろな関数を使いこなせるようになったコツを考えてみた。

VLOOKUP関数のエラー原因を探すのに2時間もかかっていた私が、いろいろな関数を使いこなせるようになったコツを考えてみた。

2020.09.14

先日、「セルに入っている計算式を別のセルに表示させるにはどうすればいいか」という質問を社内で受けました。FORMULATEXT関数を紹介したところ、こんないつ使うかもわからない関数をなんで知っているのか、どれだけの関数が頭の中に入っているのか…という話になったのですが、以前に使うことがあって、その時はたまたま空で言えただけでした。

私はトリニティでは「関数いっぱい知ってるキャラ」になっている気がしますが、実際はそんなにたくさんの関数が頭の中に入っているわけでもないなぁと思います。とはいえ、いろいろな関数を日々使っている自分はどんな風に作業しているのだろうと振り返ってみて、関数を使いこなすためのちょっとしたコツを実践しているだけなのかもしれないということに気づきました。

そこで、私なりに考えた「関数を使いこなせるようになるためのコツ」をご紹介したいと思います。
※FORMULATEXT関数については、今回のトピックの主旨ではないので、本ブログの最後に載せておきます。

関数を使いこなせるようになるためのコツ

  1. Google先生を味方につける
  2. うまくパクる
  3. 作った計算式はガンガン使い回す

改めてリストにしてみると、目新しいコツがなくて、ちょっと恥ずかしいのですが汗 それぞれご紹介していきます。

Google先生を味方につける

自分が作りたい表や困っていることを、インターネットで素直に検索してみることはとても大切です。

たとえば、私が最近までどうしても覚えられなかった「重複しているデータの横に印をつける」という計算式があります。計算式の一例としては、「=IF(COUNTIF($B$2:$B2,B2)>1,”★”,””)」というようになります。

この場合、「重複 関数」で検索すると、重複を見つけ出す計算式のブログ記事がたくさん上がってきます。いくつかのページをさらっと見てみて、これが自分のシチュエーションに合ってるかなーと思った計算式を使わせていただいています。

「重複しているデータの横に印をつける」というのは一例に過ぎませんが、ここで重要なことは、「自分が困っていることは、すでにこの世の誰かも困ったことがあって、すでに解決していて、しかも、ブログにまとめてくれていることがほどんど!」ということです。仲間が多いと思うと、心強いですよね!

結局、私は、この計算式をかれこれ7年くらい覚えられませんでした(汗)。インターネットで検索すればすぐ見つかるので、覚えていなくても忘れても全然大丈夫! と思っていたからですね。

一度調べたことのある記事は、既読の紫色で表示されるから、過去に自分が調べた記事も見つけやすいですし。ぜひ、Google先生たちを頼っていきましょう。

うまくパクる

Google先生たちの計算式を見つけたら、遠慮なく使わせていただきます。たとえば、前述の「=IF(COUNTIF($B$2:$B2,B2)>1,”★”,””)」はB列にあるデータのうち、重複しているデータには「★」をつけるという計算式ですが、自分の表が必ずしも、B列にあるデータの重複を探すシチュエーションとは限りません。そこで、Google先生たちの計算式を自分の表に当てはめ直します。

まずは、Google先生のブログを読みます。Google先生はB列のデータ重複を確認しているけれど、自分はC列のデータ重複を確認したいから、計算式の「B」を「C」に変えてみるか…という具合に当てはめ直していきます。これくらいシンプルだったら、当てはめ直すのも難しくないですね。

ただ、計算式は、複数の関数が組み合わさっていることが多くて、カンマとかコロンとかダブルクオテーションとかがたくさん並んでいて、関数の境目や構造がわからないことがしばしばです。関数の境目や構造がわからないと、何を変えればいいのかがわかりません。そんな時は「Google ドキュメント エディタ ヘルプ」が役に立ちます。

COUNTIF関数を「Google ドキュメント エディタ ヘルプ」で調べてみると、構文というところに「COUNTIF(範囲,条件)」とあります。

COUNTIF – ドキュメント エディタ ヘルプ

今回で言うと、重複しているかどうかを確認したい列が「範囲」にあたり、重複しているかどうかを確認したい品名が「条件」にあたります。

一応、「範囲 – 条件の検証対象となる範囲です。」「条件 – 範囲に適用するパターンまたはテストです。」と説明も書いてはあるのですが、独特な言い回しで私は正直わかりづらいです。なので、自分の言葉で言い換えて理解するのがおすすめです。

先ほどの計算式に当てはめて言葉にしてみると、元の計算式「=IF(COUNTIF($B$2:$B2,B2)>1,”★”,””)」に含まれているCOUNTIF関数は、「セル:B2からセル:B2より下の行の中から、セル:B2に合致するセルがいくつあるかを数える」という意味かなと理解できます。

言葉で説明できるようになれば、自分の表により当てはめやすくなります。自分が作った表でいうと、「セル:C2からC列の一番下の行までの範囲から、セル:C2に合致するセルがいくつあるかを数える」にすればいいので、「=IF(COUNTIF($C$2:$C2,C2)>1,”★”,””)」に書き換えればいいかも! と考えます。

余談ですが、セル:B3 が重複しているかどうかは「=IF(COUNTIF($B$2:$B3,B3)>1,”★”,””)」、セル:B4 が重複しているかどうかは「=IF(COUNTIF($B$2:$B4,B4)>1,”★”,””)」で確認することになります。作った計算式を下の行にコピペしていくと、以下のスクショのように計算式が作られていきます。

計算式に含まれているもう一つの関数、IF関数を「Google ドキュメント エディタ ヘルプ」で調べてみると、「IF(論理式,TRUE値,FALSE値)」とあります。

IF – ドキュメント エディタ ヘルプ

先ほどの「=IF(COUNTIF($B$2:$B2,B2)>1,”★”,””)」と照らし合わせてみると、IF関数の「論理式」にあたるところに「COUNTIF($B$2:$B2,B2)>1」が入っていることがわかります。「=IF(COUNTIF($B$2:$B2,B2)>1,”★”,””)」は「COUNTIF関数にあるセル:B2に合致するデータの個数が1より大きかったら「★」を表示させる、合致しなかったら何も表示させない」という意味と理解することになります。

関数の境目や構造を読み取って、自分の言葉で言い換えられると、元の計算式の参照している列や行を自分の表に当てはまるように書き換えることはそんなに難しくありません。

「そんなこと言っても、ややこしくてわからない!」というときは、当てずっぽうでもいいのでとにかく、参照しているセルや行列をどんどん変えてみるといいと思います。

作った計算式はガンガン使い回す

自分が過去に作った計算式をガンガン使い回しましょう!

私の場合、「=QUERY(IMPORTRANGE(….),”select Col1,Col2,…. where Col1=‘採用’”)」という、QUERY関数とIMPORTRANGE関数が組み合わさった計算式をよく使い回します。なぜなら、イチから入力すると、よくエラーが出て、エラーの原因をなかなか見つけ出せないからです。

スクリーンショットに映っている計算式はこのような感じです。

=QUERY(IMPORTRANGE(“https://docs.google.com/spreadsheets/d/——“,“Case_iPhone2019!A:HN”),“select Col211,Col212,Col219,Col12,Col13,Col7,Col6,Col17,Col18,Col16,Col8,Col9,Col19,Col20,Col21,Col169,Col170,Col171,Col172,Col173,Col174,Col175,Col176,Col177,Col178,Col179,Col180,Col181,Col182,Col183,Col184,Col185,Col186,Col187,Col188,Col197,Col198,Col199,Col200,Col201,Col202,Col203,Col204,Col205,Col220,Col221,Col222 where Col2=’採用’”)

ご覧の通り、もう何が何だか、どこで何が区切られているのかがわからない状態です(汗)。不要な半角スペースが入っていたらダメ、ダブルクオテーションを入れ忘れてもダメ、シングルクオテーションを使わなければならないのにダブルクオテーションを使ってもダメ…と気をつけることが多すぎます。そして、QUERY関数はIMPORTRANGE関数やその他の関数と組み合わせて使うことが多いので、「Google ドキュメント エディタ ヘルプ」で調べても正解がわからず、エラーの原因にたどりつけることがほとんどありません。

QUERY – ドキュメント エディタ ヘルプ

IMPORTRANGE – ドキュメント エディタ ヘルプ

だから、初めは自分の使いたいシチュエーションに合わせて、Google先生に確認しながら、大いに悩んで計算式を完成させます。その後は作り方をすっかり忘れて、過去の自分が作った計算式を使い回すようにします。

自分が困っていることは他の誰かも困ってすでに解決していると書きましたが、それでも、自分とまったく同じ状態で困っていることはまれです。過去の自分が作った計算式は自分仕様に完成されているので、誰かが作った計算式よりもかなり使いやすいです。何度も使い回しているうちに、計算式の仕組みが逆にわかるようになってきます。

まとめ

私は、以上の3つのコツを続けているうちに、これまでに、Google先生に聞いたり、作った関数を組み合わせて、自分が作りたい表を作れるようになってきたなぁと感じます。

関数をいっぱい覚えて、それぞれの仕組みをしっかり理解して、どんなシチュエーションにも対応できるようになる…のは、なかなか難しいです。使わない関数は、頭の中には入れたくないし、脳のメモリーがもったいないと思ってしまいます(汗)。そうはいっても、自分の知識だけではどうにもならないことも出てくるので、最後の最後には関数のリストを眺めてみます。

Google スプレッドシートの関数リスト – ドキュメント エディタ ヘルプ

ある程度関数がわかった状態でリストを見ると、知らない関数だけが目に飛び込んでくるようになるので、グンと頭にに入りやすいと感じています。

はじめから関数のリストを覚えようとせず、知っている関数をどんどん使ってみるうちに、いろいろ作れるようになるんだろうなぁ…くらいの気持ちで作っていけばいいのかなと思ったりします。

それでも、まずは、知識をある程度つけたい、本とかで学習したいという方は、個人的には「シチュエーション別」で関数を紹介している本がおすすめです。Goolgleスプレッドシートの本はまだまだ少ないので、エクセルの本で十分です。「日付に応じて曜日を自動的に表示させたい」「売上順位表を作りたい」「重複データを見つけ出したい」といったシチュエーション別にまとまっている本は、実践に生かしやすいです。

私は元々、仕事でもプライベートでもインターネットで検索することがなかったので、ネット検索のセンスがまったくゼロでした(汗)。なので、はじめは本の中から自分が困っているシチュエーションに似ているページを読みながらいろいろ作って、次第に本で紹介されているシチュエーションをインターネットで検索できるようになってきて、本がいらなくなりました。

自分が困っていることは、世界の誰かがもう解決してくれているので、関数を使うなんてどうってことないと思えるようになったら怖いものなしです。ぜひ、試してみてください。

おまけ:FORMULATEXT関数の使用例

セル:D2 に「=B2*C2」という計算式を入れて、計算結果の「3,000」が表示されています。簡単な計算式ではありますが、セル:D2 を選択した状態でないと、どんな計算式が入っているかがわかりません。

そんなときは、「=FORMULATEXT(D2)」という計算式を入れてみます。すると、計算式がセルに表示されます。もっと複雑な、列をいくつも参照している計算式の場合や、そもそもどこに計算式が入っているかがわからないときなどに使うと、計算式が入っていることがひと目でわかるし、どんな計算をしているかもわかって便利です。

FORMULATEXT 関数 – ドキュメント エディタ ヘルプ

あまり使うことはないと思いますが……機会があったら使ってみてください。

「あさすけ先生の、超役に立つGoogleスプレッドシート解説」関連記事

 
【スプレッドシート時短術】19,767個の空白セルを3秒で「0」にする小技
計算式のコピペ漏れを防ぐ! 気難しそうに見えて案外シンプルないいヤツ 〜ARRAYFORMULA関数〜
VLOOKUP関数のエラー原因を探すのに2時間もかかっていた私が、いろいろな関数を使いこなせるようになったコツを考えてみた。(本記事)
Googleスプレッドシートに週ごとにタスクをまとめて、その週の未完了タスク・完了タスク・タスクの達成率がひと目でわかるようにする
IMPORTRANGE関数で休日設定シートを転記すればすべてが丸く収まった
値ペーストと書式ペーストを使いこなすと作業が格段に速くなる – エクセルやGoogleスプレッドシート
Googleスプレッドシートでデータの結合・分割の幅を広げたい。改行するなら CHAR(10) を使おう!
「$」マークを使いこなして表をパパッと作る 〜相対参照と絶対参照の復習〜
わざわざ使いたい、転置して貼り付けができるGoogleスプレッドシートの「TRANSPOSE関数」
地味にはまっている、GoogleスプレッドシートでUNIQUE関数とSORT関数で入力規則(プルダウン)用のデータリストをつくる方法
Googleスプレッドシートのフィルタ表示機能が便利
Googleスプレッドシートでチェックリストを5分で作ってみる
営業日の異なる日本と中国のスケジュール作成ツールをGoogleスプレッドシートで作ってみた

このブログを書いたスタッフ

経営企画

あさすけ

とてつもない悩み性であったが、この会社に入ってから「死なない! 大丈夫!」が合い言葉に。日々、色々な人に助けられながら元気に働いている。透き通った歌声の、トリニティの看板娘。

あさすけのブログ一覧

コメントを投稿

ログイン

ログインせずに投稿する場合には名前とメールアドレスを入力してください。


管理者の承認後、コメントが表示されます。

カテゴリー

コメント

このページのトップへ
このページをシェアする

ブランドから探す

端末を選ぶ
  • Tablet
  • Android
  • Laptop
  • AirPods
  • Apple Watch
  • iPad
  • iPhone

機種から探す

シリーズを選ぶ

機種を選ぶ

カテゴリーを選ぶ

機種から探す

カテゴリーを選ぶ

カテゴリーから探す

端末を選ぶ
  • Tablet
  • Android
  • Laptop
  • AirPods
  • Apple Watch
  • iPad
  • iPhone

カテゴリーから探す

端末を選ぶ
  • Tablet
  • Android
  • Laptop
  • Apple Watch
  • iPad
  • iPhone

カテゴリーから探す